import java.io.File;
import java.util.Scanner;

public class Demo4 {
    //扫描指定目录，并找到名称中包含指定字符的所有普通文件（不包含目录），并且后续询问用户是否要删除该文件
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入你的扫描路径： ");
        String path = scanner.next();

        System.out.println("请输入你的要搜索的文件名关键字: ");
        String word = scanner.next();

        //验证输入是否合法
        File file = new File(path);
        if (word.isEmpty()) {
            System.out.println("输入的关键字为空!!");
            return;
        }
        if (!file.isDirectory()) {
            System.out.println("你输入的扫描路径有误，请重新输入");
            return;
        }

        search(file,word);
    }

    private static void search(File rootfile, String word) {
        File[] files = rootfile.listFiles();
        //验证是否为空
        if (files == null) return;
        for (File file : files) {
            if (file.isFile()) isDelete(file,word);
            //非文件继续递归下去搜
            else search(file,word);
        }
    }

    private static void isDelete(File file, String word) {
        if (file.getName().contains(word)) {
            System.out.println("找到文件：" + file.getAbsolutePath());
            Scanner scanner = new Scanner(System.in);
            System.out.println("是否要删除 Y/n");
            String choice = scanner.next();
            if (choice.equals("Y") || choice.equals("y")) {
                if (file.delete()) System.out.println("删除成功");
                else System.out.println("删除失败");
            }
            else System.out.println("取消删除");
        }
    }
}
